home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1996 April / Macworld (1996-04).dmg / Shareware World / Entertainment / General / RW 4.1.2 / RoboWar 4.1.2 / RoboWar 4.1.2.rsrc / TEXT_2008_History.txt < prev    next >
Text File  |  1995-12-12  |  24KB  |  107 lines

  1. VIII:  A Brief History of RoboWar
  2.  
  3. Many moons ago, the world was lacking RoboWar.  Then one crisp spring night a bunch of fanatical teen-age computer programmers were sitting around at a meeting of the Ridgecrest IEEE Student club tossing out programming ideas and dodging the shrapnel.  Sick of hand-eye arcade games, the concept of robots fighting without user intervention grabbed their attention.  Thus was born RoboWar.
  4.  
  5. The computer club members debated many ideas.  At first they considered placing robots on a board full of obstacles and challenges.  They thought about building robots by dragging icons about to form various subsystems.  Jon Richards was the first to prototype RoboWar code on a foul MS-DOS clone.  Later that summer at Caltech, David Harris saw an early version of another robot-battle style game being developed by students there.  He liked the concept of the programming language for robots and saw a number of other ideas for improvement.
  6.  
  7. In the fall, while climbing Dragon Peak out of Onion Valley in the Sierra Nevada, David was hit across his head with a fascinating, efficient, and easy to implement programming language based on Reverse-Polish notation.  Fortunately, another computer club veteran, Ralph Giles, was also on the hike and the two worked out the details of the language, with inspiration from the HP-28 calculator language, C, Pascal, and assembly language in addition to their own foul concoctions.  Fortunately, they wrote a complete specification of the interpreter, for, although Ralph spent a bit of time working on it on another clone, it wasn‚Äôt until December that David began to implement it on a real machine.
  8.  
  9. David first designed an interpreter and compiler that ran, albeit clumsily, on a Silicon Graphics workstation.  Then he ported it to the Macintosh, built up a user interface, and spend most of Christmas vacation chasing bugs.  When the program worked reliably, progress greatly slowed, for he spent extensive time ‚Äúplaytesting‚Äù instead of coding.
  10.  
  11. Since that point, robots have evolved through a number of stages.  This history details the development of code by the IEEE club members.  Doug Harris, David‚Äôs demented brother, also built a number of robots, ranging from unreliable to excellent in quality, that followed some convergent and some divergent branches of evolution.  The IEEE club robots have come through six generations:
  12.  
  13. First generation robots include MoveBot (listed below) and DumBot.  They were written to test the interpreter on the Silicon Graphics.  They duel nicely but fairly randomly.  Each was generally less than a page in length and wasn‚Äôt smart enough to kill its opponent in a single shot.  TimBot (also listed below), a simple but effective robot, lead the second generation of robots into existence.  Written by Tim Seufert on the Macintosh, it locked onto stationary robots and blew them to tiny bits.  Originally, it used less energy in its shots and took longer to eliminate its opponents, but still, TimBot made completely stationary robots unviable.
  14.  
  15. In response to TimBot, drooling hackers started to produce a third generation of robots.  These typically moved about the board.  One interesting pair of third-generation robots were Coroner 1 and 2.  These ‚Äôbots moved to opposite corners before shooting at any targets they saw.  If they began taking damage through their shields, they would flee to the opposite corners.
  16.  
  17. Matt Sakai changed the entire course of robot evolution when he brought Silo IV to a meeting on a nondescript floppy disk.  Silo IV, the one and only fourth generation robot, moved about the board and almost unfailingly destroyed its first, second, and third generation opponents.  For a time, the IEEE group was stunned; David even added some more features to the interpreter that robot designers might try because Silo IV seemed to be the ultimate robot in the evolutionary tree.
  18.  
  19. Nonetheless, after a few weeks, numerous other robots using similar tactics sprung from the silicon mind.  These fifth generation robots, the so-called ‚ÄúSilo clones‚Äù, eventually managed to equal, then best Matt‚Äôs Silo IV.  Among the Silo clones were Robot B2 (the product of David Wasserman‚Äôs nightmares), TimBot IV (at first the joke of the IEEE group, later a reasonably effective robot), Freud (most famous for his remarkable icon), and Blade (the best Silo clone yet developed).  To test these robots, the IEEE members ran extensive combats and developed the ‚ÄúTimBot Test:‚Äù how many plain-vanilla TimBots on one team can one robot defeat at one time in at least 60% of the combats?  Most Silo clones could almost always defeat a single TimBot and could defeat two more than 60% of the time.
  20.  
  21. Fortunately, before things became too dull, robots using other strategies began to appear.  Among these sixth generation robots were Lewis Girod, Aeneas II, and Pearl.  Aeneas broke the three TimBot barrier.  Unfortunately for his creator, Pearl appeared soon after, usually capable of overcoming five other TimBots teamed together in a battle!  Pearl, another product of Matt Sakai, is the current champion.
  22.  
  23. What is the future of RoboWar?  Pearl appears to be very good but Silo at one point also seemed unbeatable.  Few robots have been written to work effectively together on teams; few use the communications or advanced projectile detection capabilities.  Perhaps somebody will develop tracking algorithms or discover another excellent algorithm lurking just out of sight.  ThX‚Ä∞roup has proposed a number of questions about robot behavior that they still have not answered, so there is still ground to explore.  For the novice, RoboWar has much excitement waiting as one learns to program and to overcome each generation.  For the expert, too, the horizons of RoboWar are still beckoning.
  24.  
  25. In such a state RoboWar rests April 16, 1990.  I will be sponsoring a RoboWar tournament in early June in which the best robots of each contestant may compete for glory and riches.  See the about box for more details.  Also, please pay your shareware fees if you enjoy RoboWar.  I put a great deal of time and effort into programming.  Since the $10 fee is so much less than the cost of a professionally marketed game, I would appreciate the money.
  26.  
  27. History Continued.  On June 1st, (tonight, as I write) we are collecting the robots for the tournament.  We received 11 entries at $2 each.  Matt introduced his reputedly fearsome seventh generation ‚ÄúReligion‚Äù robots-Hinduism, Judaism, and (The Great God) Anything, replete with wild comments as well as powerful new designs.  Yes, there are robots better than sixth generation Pearl clones!  We are waiting for the robots from Northwestern University (hopefully Jon will send some) and plan to hold the competition very soon.  YAWP!
  28.  
  29. Continued:  The RoboWar competition is complete!  Twelve robots entered; their names, owners, and comments are listed below:
  30.  
  31. Robot                    Creator                   Comment
  32. ShazBot                Dave Gangon            The Physicist
  33. Line II                   Wesley Voshell         De Best
  34. TimBot V Mark II   Tim Seufert             Kills Strafers
  35. Hinduism               Matt Sakai               Strafer that‚Äôll kill TimBot anyway
  36. Judaism                Matt Sakai               No comment.
  37. Anything               Matt Sakai               Convert or Die!!!
  38. Silo Plus               Matt Sakai                Like the icon?
  39. Blade                    Ralph Giles               The old battle-ship
  40. Sch√∂n                   Ralph Giles                How much potential is realized?
  41. Line                      Matt Mann                ‚Äì‚Äì‚Äì‚Äì‚Äì‚Äì‚Äì‚Äì‚Äì
  42. Appletree             David Wasserman      Cannon fodder
  43. Tower Bot            Doug Harris               Have a nice day
  44.  
  45. Jon never sent any robots (finals were the week before the robots were due) but Doug entered his Tower Bot which had a nasty habit of overflowing the stack just after the 3500 chronon battle limit was over and thus forcing the battle rosters to be redone.  Fortunately, with the help of Ralph‚Äôs Mac IIci, a version of RoboWar using the 68881 instructions, and the automated combat features, the tournament only took a morning to complete.
  46.  
  47. First Place goes to Silo Plus, Matt‚Äôs seventh-generation shapechanger.  ShazBot took second place with a good algorithm to escape wall huggers and to track Silo clones.  Finally, the shield-bearing Silo clone TimBot V Mark II surprised us all and took third place.
  48.  
  49. From this contest, we find the old guns still do fairly well.  Blade, the fifth generation robot, far outperformed his cousin Sch√∂n, the sixth-generation perimeter ‚Äôbot.  Matt had a good design in his seventh-generation robots, though.  They were typically very efficient wall-huggers that changed behavior (thus the name shapechanger) as the game progressed.
  50.  
  51. Over the next several months, RoboWar received only sporadic work.  The 500 instruction limit was clearly a limiting factor for new robot development, so raising the limit to 5000 was a crucial part of the new RoboWar 2.0 program.  Also, the Central Control metaphor, though intuitively simple, required a large number of mouse clicks to navigate and violated the standard Macintosh interface pretty badly.  The biggest change to RoboWar 2.0 was a reorganization of the user interface to be (hopefully) much faster to use.  
  52.  
  53. David also began receiving shareware checks and letters about RoboWar.  Letters from new RoboWar addicts asking for new features were very exciting and spurred on development of RoboWar 2.0.  The program was revised by the end of January but these instructions needed a rewrite.  Unfortunately, with the semester starting, David didn‚Äôt have time for the full rewrite that the instructions deserved, but hopefully this document is accurate and clear enough to suffice for the present.
  54.  
  55. What is the future of RoboWar?  RoboWar 2.0 is so full of new features that I‚Äôm afraid some will turn out to be Intel Features (a.k.a. bugs).  Over the next few months, I‚Äôm planning to collect bug reports and post fixes on the network (at sumex-aim.stanford.edu for all you Unix types out there).  Davi0√∫ad a number of new features (a debugger in particular) that he had wished to include in Version 2.0 but lacked time to complete.  These new features will appear in Version 2.1, 2.2, etc. as time permits.
  56.  
  57. And now for the results of the Second RoboWar tournament.  This tournament‚Äôs entries were quite exciting, stretching RoboWar 1.5.1 to its very limits.  Eighth generation robots who specialized in evading enemy shots were common in this contest.  The contest had sixteen individual entries plus David‚Äôs old standards, Freud and Aeneas III, placed in the arena for comparative purposes.  Rammer AMT, by Jon Newman, scored a clear first place victory.  Chicken & Corn II, by Tom Morrison, overcame his moderate performance in the initial rounds to place second.  Finally MX‚Ñ¢ III, by Doug Harris, placed third with his TacNuke superbombardment.  Mx3 and Mortician¬Æ, a team jointly written by Doug Harris and Tim Seufert, clearly won the team competition.  Patriot, by Wesley Voshell, won the Icon Competition with a marvelously drawn picture of a ship.  Congratulations to everyone who entered the contest.  This competition featured some of the best robots I had ever seen.  With the new flexibility of RoboWar 2.0, I expect to see even more exciting robot designs.
  58.  
  59. In the spring of 1991 I ran a class on RoboWar at MIT for junior high and high school students.  Each week the students would program robots and bring them to class to compete with their fellows.  I observed how the robots evolved over time; each week there would be minor improvements over the previous week's robots but every once in a while, somebody would introduce a significantly different robot technology (a "paradigm shift") that could defeat most all previous robots.  The new robot would spur another series of incremental improvement until finally there was another paradigm shift.  I also found that the chance for students to interact and observe each other's robots helped the students to develop much better robots.  By the end of the class they had programmed robots that could compete well with the entries to the second tournament.  RoboWar proved to be a valuable educational tool for teaching programming techniques to fairly young students.  I would like to thank the members of my class for all the bugs they helped me track down and for the insight they gave me on RoboWar learning patterns.
  60.  
  61. In July, Dave ‚ÄúRasferet‚Äù Blumenthal, a Cornell student, entered the RoboWar Hall of Fame by cracking the RoboWar password system.  As promised, Dave is now due for infinite glory and undying mention in the sacred RoboWar Instructions.  Dave has also made numerous suggestions and bug reports that have helped my development of RoboWar very much.
  62.  
  63. In May 1992, the Fourth RoboWar Tournament was held, featuring some extremely well-designed robots.  Doug Harris, whose clever designs in the past were fatally wounded by bugs, won both the individual (Pacifist Penquin), and (with the help of a robot by Tim Seufert) team (Miracle Penquin & Terminator II) prizes.  Robert Hogg again demonstrated his RoboWar mastery taking second place with Beholder Jr., tieing for third with Biosphere, and winning the icon contest with the utterly cute Lewis.  Eric Foley's Orb of Doom also tied for third in the individual contest.  This time there were a number of effective teams; moreover, many of the robots had extremely good icons and not a single entry performed very badly.  Jesse Barnum discovered a remarkable new way to cheat, but the bug was fixed before the tournement so he just receives an honorable mention.
  64.  
  65. Two weeks after the tournament, misplaced mail surfaced at the East Campus desk.  Enclosed was Jeff Rommereide's Excelsior, his Fourth RoboWar tournament entry.  As the results had already been mailed out, I was unable to entere Excelsior in the tournament, but I staged a mock tourney anyway.  Excelsior claimed first place!  This was quite tragic; Jeff
  66. had invested a great deal of effort in new technology for this robot and it performed exceptionally well.  Thus, I promised Jeff a glowing description of Excelsior in this manual and expect that it will be entered in the next RoboWar tournament to challenge hackers.  Congratulations, Jeff:  may Excelsior claim eternal glory in the halls of RoboWar Heroes!
  67.  
  68. A few weeks later, the impossible happened:  I finally got around to implementing the RoboTalk debugger!  YAWP!
  69.  
  70. A large contingent of RoboWar hackers negotiated a site license at Carleton College and ran their own local tournament in October 1992.  Tom Hayes sent me some of the results; Nereid was the winner and Leech, an annoying 98 instruction bot, took second.  Little VT 002 won the Little League division.  I do not have any of the robots or any more information, but you can enquire with Tom at THAYES%ADMIN1@carleton.edu.  If any other groups are interested in RoboWar site licenses or run noteworthy local tournaments, drop me a letter...
  71.  
  72. The Fifth Tournament was somewhat smaller, but featured a number of excellent robots.  The individual winners were (from first to third):  Excelsior by Jeff Rommereide, Lug by Robert Hogg, and Orb of Doom II by Eric Foley.  Robert also won the team contest with $*Lucky Flea*$ and $*Nuclear Flea*$; these and other suicidal destroyer teams dominated the contest.  In the interest of promoting strategy over luck, suicidal destroyers will be banned from future tournaments.  Eric won the first titan competition with the dreaded Krulockh Lord and Doug Harris was winner of the little leagues with Wimp.  Finally, Dirty Lewis tickled the funny bone of the judges and claimed supremacy in the icon contest!
  73.  
  74. After a long hiatus from RoboWar programming (taking a heavy load at MIT does wonders for gobbling up all free time), I finally got back to adding my favorite features from people's wish lists during finals week of Spring 1993.  These features appear in RoboWar 2.4.  They include the Recording Studio for adding sound to robots, interrupts (which may revolutionize robot design), and lots of fixes of small but annoying bugs reported over the last year.  Thanks to everyone who contributed suggestions or bug reports; your ideas help make RoboWar a better program.
  75.  
  76. The Sixth Tournament, held June 1993, claimed the distinction of being the first International Tournament.  Three of the twelve people entering the contest came from overseas and many of their robots did very well.  The Darling series of profoundly aggressive robots ushers in a new generation of robot designs that has never been seen before.  The individual winners were (from first to third):  Sylvestre by Antoine Duchateau, Darling, by Stephen Linhart, and Dragon Knight by RoboMaster Eric Foley.  Stephen Linhart also won the team and Little League categories with a pair of Darlings and with Lil Darling, respectively.  RoboMaster Douglas Harris won the Titan competition with the latest of his Penquin series, z Death Penquin. Finally, Eric Foley won the icon contest with his all-seeing and unpronouncible Eye of Shorshirsh.
  77.  
  78. RoboWar never was released as version 2.4; instead, I took the leap up to version 3.0 by adding automatic math coprocessor support, interrupts, and so forth.  Version 3.0 should be released in September 1993.
  79.  
  80. RoboWar 3.0 introduced almost as many new bugs as new features.  Thanks go to the many RoboWar hackers who sent detailed bug reports that have helped me squash these problems.  Some names particularly worthy of recognition are Stephen Linhart, David Pokorny, and Tim "the enchanter" Mattox.  Keep those bug reports coming!
  81.  
  82. Version 3.1, released at the end of January, 1994, fixes many of these bugs.  Unfortunately, the dreaded Thesis prevented me from adding any of a long list of desired new features, but one of these days, Version 3.2 should come out with any remaining bug fixes and with a couple of minor new features.
  83.  
  84. At this point, the artistry of Brian and Greg Parker should be mentioned in the RoboWar Hall of Fame.  These two intrepid young RoboWar hackers drew nifty scenes of robots blasting each other to oblivion on the envelopes in which they sent various pieces of correspondence.  Nice drawing!
  85.  
  86. Andrew Lindsey's "His All Seeing Eye III" (entered in the 7th tournament) takes advantage of an undocumented feature and a glitch in RoboWar to pull a really neat trick.  Try tracing its code in the debugger and watch what happens!
  87.  
  88. In May 1994, I finally upgraded from trusty old Mac II to a spiffy new PowerMac 8100.  Using the excellent Metrowerks compiler, I ported RoboWar to run native on the PowerMac.  Video isn't much faster, but when the battle isn't displayed, it runs up to 30 times faster than it did on my old machine!  Nice job, Apple!
  89.  
  90. The Eighth International RoboWar Tournament, held in July 1994, was the largest and best so far.  Interrupt bots have come of age and many clever strategies are employed.
  91.  
  92. RoboWar 4.0 evolved over the summer of 1994.  The Metrowerks compiler is an excellent product and the programmers obviously are craftsmen who love their work.  Unfortunately, it isn't as thoroughly tested as other compilers and has produced bad code on occasion.  Metrowerks is very good about fixing bugs that are reported, but I am afraid that sneaky bugs might be left in RoboWar that I haven't caught.  Thanks go to Tim Seufert and Ben Matasar for beta testing RoboWar 4.0 and catching lots of bugs!
  93.  
  94. One of the most interesting (or perhaps least interesting, if you have a slow Mac) results of the Eighth International
  95. Tournament was the evolution of cooperation among robots.  The scoring system gives one point to any robot that survives in a duel.  RoboWarriors have gradually realized that killing the opponent doesn't help one's own score; hence a number of robots have emerged that don't attack unless they sense aggression from the other party.  Eric Foley describes these robots as the "Alliance."  Such alliance members can often outscore even the best aggressors simply by scoring lots of points in each round they encounter fellow alliance members.  This situation is a variant of the Prisoner's Dilemma and also has many parallels in the real world, where peaceful nations can advance economically while aggressive ones mortgage their future for new bombs.  It is fascinating to see such real world cooperation emerging from a simple simulation like RoboWar where no communication is possible save for observing the opponent's actions.  Unfortunately, the Alliance leads to many long boring rounds where the robots simply watch each other for 1500 chronons before a draw is declared.  To appeal to our lust for senseless virtual violence, the scoring system may change in the future to reward effective killers as well as robots that live to a ripe old age.
  96.  
  97. RoboWar 4.1 features new registers and operators and an improved tournament utility.  Jeff Lewis of Bakersfield, CA deserves credit for pointing out lots of bugs in the old tournament routines and suggesting the nifty new tournament interface.  The history registers evolved while contemplating extended games of Prisoners' Dilemma while hiking Mission Peak.  They should open up lots of creative strategies, but risk increasing the complexity of a world-class robot.  Thanks to Eric Foley's urgings and lots of boring Alliance members in the Ninth Tournament, a new aggressive scoring system has been instituted that rewards robots for kills as well as survival.
  98.  
  99. RoboWar 4.1.1 and 4.1.2 mostly fix bugs.  In September, 1995, I moved to Stanford to begin my Ph.D.  RoboWar business has picked up in 1995 (largely thanks to the growth of the net) and my mother Sally Harris has generously offered to handle registrations so I'll have more time to design microprocessors.  The 4.1.2 release reflects the new RoboWar HindQuarters address (back at the RoboWar birthplace in Ridgecrest, CA) and a new email address that will hopefully be processed more rapidly than my Stanford one.
  100.  
  101. The Tenth International RoboWar Tournament continued to be dominated by Jean-Francis Lechat, the Napoleon of RoboWar.  Jade held out in the lead and Carne demonstrated a very novel use of drones.  For fairness, drones and lasers will no longer be allowed in future tournaments (because Doug Harris complained they violate the "no undocumented features" rule).  Who will devise a robot clever enough to overcome Jean-Francis' minions in the next tournaments?
  102.  
  103. The Tenth Tournament also had a loophole in the rules that allowed self-destructive robots in the Individual competition to rack up many points in group combat.  To patch this loophole and encourage survival in general, RoboWar 4.1.2 only awards points to robots for kills if the aggressor is still alive at the time of the kill.  Also, some robots used lasers and drones.  These weapons are now in the category of "undocumented features" and are banned from future official tournaments.  Finding them is a challenge for the hacker; please do not ask me about how to enable or use them or to bring them back into the game as an official feature.
  104.  
  105. RoboWar 4.1.2 was finally released in December 1995 after I tracked down and squashed an annoying bug that caused projectiles to move at different speeds depending on where they were in the arena.  The bug was difficult to find because it only happened on certain Macintoshes and because some of the reports about the bug seemed to have incorrect information.  Moreover, the bug did not occur on my development machine, so I had to find a machine where it did happen and port my development tools.  In the end, the bug turned out happen on 68K Macs with floating point hardware; it was due to letting the floating point routines get out of date with respect to the normal routines.  It should be fixed now.  RoboWar 4.1.2 also fixes a systematic bias that caused robots early in the alphabet to do slightly better in tournaments.  
  106.  
  107. Thanks to RoboMasters Eric Foley, Jean-Francis Lechat, and Greg Parker, as well as Lucas Dixon and numerous other RoboWar hackers, for detailed bug reports that greatly stabilized RoboWar 4.1.2.